package com.huakang.entity;

import java.util.ArrayList;
import java.util.List;

public class NurseExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public NurseExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andNidIsNull() {
            addCriterion("nid is null");
            return (Criteria) this;
        }

        public Criteria andNidIsNotNull() {
            addCriterion("nid is not null");
            return (Criteria) this;
        }

        public Criteria andNidEqualTo(Integer value) {
            addCriterion("nid =", value, "nid");
            return (Criteria) this;
        }

        public Criteria andNidNotEqualTo(Integer value) {
            addCriterion("nid <>", value, "nid");
            return (Criteria) this;
        }

        public Criteria andNidGreaterThan(Integer value) {
            addCriterion("nid >", value, "nid");
            return (Criteria) this;
        }

        public Criteria andNidGreaterThanOrEqualTo(Integer value) {
            addCriterion("nid >=", value, "nid");
            return (Criteria) this;
        }

        public Criteria andNidLessThan(Integer value) {
            addCriterion("nid <", value, "nid");
            return (Criteria) this;
        }

        public Criteria andNidLessThanOrEqualTo(Integer value) {
            addCriterion("nid <=", value, "nid");
            return (Criteria) this;
        }

        public Criteria andNidIn(List<Integer> values) {
            addCriterion("nid in", values, "nid");
            return (Criteria) this;
        }

        public Criteria andNidNotIn(List<Integer> values) {
            addCriterion("nid not in", values, "nid");
            return (Criteria) this;
        }

        public Criteria andNidBetween(Integer value1, Integer value2) {
            addCriterion("nid between", value1, value2, "nid");
            return (Criteria) this;
        }

        public Criteria andNidNotBetween(Integer value1, Integer value2) {
            addCriterion("nid not between", value1, value2, "nid");
            return (Criteria) this;
        }

        public Criteria andNnameIsNull() {
            addCriterion("nname is null");
            return (Criteria) this;
        }

        public Criteria andNnameIsNotNull() {
            addCriterion("nname is not null");
            return (Criteria) this;
        }

        public Criteria andNnameEqualTo(String value) {
            addCriterion("nname =", value, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameNotEqualTo(String value) {
            addCriterion("nname <>", value, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameGreaterThan(String value) {
            addCriterion("nname >", value, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameGreaterThanOrEqualTo(String value) {
            addCriterion("nname >=", value, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameLessThan(String value) {
            addCriterion("nname <", value, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameLessThanOrEqualTo(String value) {
            addCriterion("nname <=", value, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameLike(String value) {
            addCriterion("nname like", value, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameNotLike(String value) {
            addCriterion("nname not like", value, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameIn(List<String> values) {
            addCriterion("nname in", values, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameNotIn(List<String> values) {
            addCriterion("nname not in", values, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameBetween(String value1, String value2) {
            addCriterion("nname between", value1, value2, "nname");
            return (Criteria) this;
        }

        public Criteria andNnameNotBetween(String value1, String value2) {
            addCriterion("nname not between", value1, value2, "nname");
            return (Criteria) this;
        }

        public Criteria andNsexIsNull() {
            addCriterion("nsex is null");
            return (Criteria) this;
        }

        public Criteria andNsexIsNotNull() {
            addCriterion("nsex is not null");
            return (Criteria) this;
        }

        public Criteria andNsexEqualTo(String value) {
            addCriterion("nsex =", value, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexNotEqualTo(String value) {
            addCriterion("nsex <>", value, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexGreaterThan(String value) {
            addCriterion("nsex >", value, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexGreaterThanOrEqualTo(String value) {
            addCriterion("nsex >=", value, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexLessThan(String value) {
            addCriterion("nsex <", value, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexLessThanOrEqualTo(String value) {
            addCriterion("nsex <=", value, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexLike(String value) {
            addCriterion("nsex like", value, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexNotLike(String value) {
            addCriterion("nsex not like", value, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexIn(List<String> values) {
            addCriterion("nsex in", values, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexNotIn(List<String> values) {
            addCriterion("nsex not in", values, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexBetween(String value1, String value2) {
            addCriterion("nsex between", value1, value2, "nsex");
            return (Criteria) this;
        }

        public Criteria andNsexNotBetween(String value1, String value2) {
            addCriterion("nsex not between", value1, value2, "nsex");
            return (Criteria) this;
        }

        public Criteria andNphoneIsNull() {
            addCriterion("nphone is null");
            return (Criteria) this;
        }

        public Criteria andNphoneIsNotNull() {
            addCriterion("nphone is not null");
            return (Criteria) this;
        }

        public Criteria andNphoneEqualTo(String value) {
            addCriterion("nphone =", value, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneNotEqualTo(String value) {
            addCriterion("nphone <>", value, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneGreaterThan(String value) {
            addCriterion("nphone >", value, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneGreaterThanOrEqualTo(String value) {
            addCriterion("nphone >=", value, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneLessThan(String value) {
            addCriterion("nphone <", value, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneLessThanOrEqualTo(String value) {
            addCriterion("nphone <=", value, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneLike(String value) {
            addCriterion("nphone like", value, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneNotLike(String value) {
            addCriterion("nphone not like", value, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneIn(List<String> values) {
            addCriterion("nphone in", values, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneNotIn(List<String> values) {
            addCriterion("nphone not in", values, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneBetween(String value1, String value2) {
            addCriterion("nphone between", value1, value2, "nphone");
            return (Criteria) this;
        }

        public Criteria andNphoneNotBetween(String value1, String value2) {
            addCriterion("nphone not between", value1, value2, "nphone");
            return (Criteria) this;
        }

        public Criteria andNidentifyIsNull() {
            addCriterion("nidentify is null");
            return (Criteria) this;
        }

        public Criteria andNidentifyIsNotNull() {
            addCriterion("nidentify is not null");
            return (Criteria) this;
        }

        public Criteria andNidentifyEqualTo(String value) {
            addCriterion("nidentify =", value, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyNotEqualTo(String value) {
            addCriterion("nidentify <>", value, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyGreaterThan(String value) {
            addCriterion("nidentify >", value, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyGreaterThanOrEqualTo(String value) {
            addCriterion("nidentify >=", value, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyLessThan(String value) {
            addCriterion("nidentify <", value, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyLessThanOrEqualTo(String value) {
            addCriterion("nidentify <=", value, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyLike(String value) {
            addCriterion("nidentify like", value, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyNotLike(String value) {
            addCriterion("nidentify not like", value, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyIn(List<String> values) {
            addCriterion("nidentify in", values, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyNotIn(List<String> values) {
            addCriterion("nidentify not in", values, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyBetween(String value1, String value2) {
            addCriterion("nidentify between", value1, value2, "nidentify");
            return (Criteria) this;
        }

        public Criteria andNidentifyNotBetween(String value1, String value2) {
            addCriterion("nidentify not between", value1, value2, "nidentify");
            return (Criteria) this;
        }

        public Criteria andDeidIsNull() {
            addCriterion("deid is null");
            return (Criteria) this;
        }

        public Criteria andDeidIsNotNull() {
            addCriterion("deid is not null");
            return (Criteria) this;
        }

        public Criteria andDeidEqualTo(Integer value) {
            addCriterion("deid =", value, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidNotEqualTo(Integer value) {
            addCriterion("deid <>", value, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidGreaterThan(Integer value) {
            addCriterion("deid >", value, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("deid >=", value, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidLessThan(Integer value) {
            addCriterion("deid <", value, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidLessThanOrEqualTo(Integer value) {
            addCriterion("deid <=", value, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidIn(List<Integer> values) {
            addCriterion("deid in", values, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidNotIn(List<Integer> values) {
            addCriterion("deid not in", values, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidBetween(Integer value1, Integer value2) {
            addCriterion("deid between", value1, value2, "deid");
            return (Criteria) this;
        }

        public Criteria andDeidNotBetween(Integer value1, Integer value2) {
            addCriterion("deid not between", value1, value2, "deid");
            return (Criteria) this;
        }

        public Criteria andKidIsNull() {
            addCriterion("kid is null");
            return (Criteria) this;
        }

        public Criteria andKidIsNotNull() {
            addCriterion("kid is not null");
            return (Criteria) this;
        }

        public Criteria andKidEqualTo(Integer value) {
            addCriterion("kid =", value, "kid");
            return (Criteria) this;
        }

        public Criteria andKidNotEqualTo(Integer value) {
            addCriterion("kid <>", value, "kid");
            return (Criteria) this;
        }

        public Criteria andKidGreaterThan(Integer value) {
            addCriterion("kid >", value, "kid");
            return (Criteria) this;
        }

        public Criteria andKidGreaterThanOrEqualTo(Integer value) {
            addCriterion("kid >=", value, "kid");
            return (Criteria) this;
        }

        public Criteria andKidLessThan(Integer value) {
            addCriterion("kid <", value, "kid");
            return (Criteria) this;
        }

        public Criteria andKidLessThanOrEqualTo(Integer value) {
            addCriterion("kid <=", value, "kid");
            return (Criteria) this;
        }

        public Criteria andKidIn(List<Integer> values) {
            addCriterion("kid in", values, "kid");
            return (Criteria) this;
        }

        public Criteria andKidNotIn(List<Integer> values) {
            addCriterion("kid not in", values, "kid");
            return (Criteria) this;
        }

        public Criteria andKidBetween(Integer value1, Integer value2) {
            addCriterion("kid between", value1, value2, "kid");
            return (Criteria) this;
        }

        public Criteria andKidNotBetween(Integer value1, Integer value2) {
            addCriterion("kid not between", value1, value2, "kid");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}